package com.woldier.check.common.hadoop;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FileStatus implements Serializable {

    /**
     * 目录后缀,文件/文件夹名称
     */
    @JSONField(name = "pathSuffix")
    private String pathSuffix;
    /**
     * 类型 (文件或者文件夹)
     */
    @JSONField(name = "type")
    private String type;
    /**
     * 长度
     */
    @JSONField(name = "length")
    private int length;
    /**
     * 拥有者
     */
    @JSONField(name = "owner")
    private String owner;
    /**
     * 所属分组
     */
    @JSONField(name = "group")
    private String group;
    /**
     * 访问权限
     */
    @JSONField(name = "permission")
    private String permission;
    /**
     * 访问日期
     */
    @JSONField(name = "accessTime")
    private Long accessTime;
    /**
     * 更新日期
     */
    @JSONField(name = "modificationTime")
    private Long modificationTime;
    /**
     * 本地修改时间
     */
    @JSONField(name="changeTime")
    private Long changeTime;
    /**
     * 块大小
     */
    @JSONField(name = "blockSize")
    private Long blockSize;
    /**
     * 冗余数
     */
    @JSONField(name = "replication")
    private Integer replication;
    /**
     * 子目录数
     */
    @JSONField(name = "childrenNum")
    private Integer childrenNum;
    /**
     * 文件唯一id
     */
    @JSONField(name = "fileId")
    private Long fileId;
    /**
     * 存储策略
     */
    @JSONField(name = "storagePolicy")
    private Long storagePolicy;

    /**
     * 文件状态信息
     */
    @JSONField(name = "FileStatuses")
    private com.woldier.check.common.hadoop.FileStatuses FileStatuses;
    /**
     * 文件类型封装
     */

}
